Computing systems, which may comprise, for example, an application or a plurality of applications, have become increasingly complex. Indeed, the sheer number of computing systems has increased dramatically in recent years. Also, each computing system itself often becomes more complex as it evolves through revision releases and the like. Moreover, computing systems typically interconnect to an increasing number of other computing systems as such systems are integrated into a larger computing architecture.
Further, more and more computing systems are integrated into computing architectures. As such, modeling a computing architecture has become more challenging. For example, an enterprise may have a multitude of computing systems with each computing system comprising a multitude of applications. The applications and/or systems may include purchased applications, developed applications, legacy systems, and the like. Each of these applications and/or systems may have its own database, a shared database, a website interface, a machine interface, a connection to other computing systems, a connection to other computing applications, and the like. Due to these many complexities and the highly integrated nature of computing, modeling complex computing architectures on an enterprise level is often very difficult.
Nonetheless, the need to communicate such computing architectures at an enterprise level to both technical and non-technical people, is important to achieving business success and to building computing architectures that are efficient, maintainable, and conducive to future growth. Further, the ability to depict the computing architecture at an appropriate level of detail for a specific target audience is important. For example, a member of a board of directors may prefer to be presented with a high-level view of an enterprise computing architecture to determine where to invest resources, while an application developer may prefer to be presented with a mid-level view of a computing system to determine how to integrate new functionality into the computing architecture.
In view of the foregoing, there is a need for a method for flexibly and dynamically representing a computing architecture at various levels of detail.